def f(n):
q = []
for a in range(1,10001):
w = str(n)*a
e = len(w)
t = n*a
for b in range (max(1,e-8),min(10001,e)):
r = int(w[:e-b])
if r < t-b:
break
if r == t-b:
q.append([a,b])
return q
t = int(input())
q = []
for i in range(t):
n = int(input())
q.append(f(n))
for i in range(t):
print(len(q[i]))
for j in range (len(q[i])):
print(*q[i][j])
1487A - Arena | 1520D - Same Differences |
376A - Lever | 1305A - Kuroni and the Gifts |
1609A - Divide and Multiply | 149B - Martian Clock |
205A - Little Elephant and Rozdil | 1609B - William the Vigilant |
978B - File Name | 1426B - Symmetric Matrix |
732B - Cormen --- The Best Friend Of a Man | 1369A - FashionabLee |
1474B - Different Divisors | 1632B - Roof Construction |
388A - Fox and Box Accumulation | 451A - Game With Sticks |
768A - Oath of the Night's Watch | 156C - Cipher |
545D - Queue | 459B - Pashmak and Flowers |
1538A - Stone Game | 1454C - Sequence Transformation |
165B - Burning Midnight Oil | 17A - Noldbach problem |
1350A - Orac and Factors | 1373A - Donut Shops |
26A - Almost Prime | 1656E - Equal Tree Sums |
1656B - Subtract Operation | 1656A - Good Pairs |